Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## java.rmi.server
Class ObjID

    java.lang.Object
      |
      +--java.rmi.server.ObjID

All Implemented Interfaces:
  Serializable

public final class ObjID
extends Object
implements Serializable

An `ObjID` is used to identify a remote object exported to an RMI runtime. When a remote object is exported, it is assigned an object identifier either implicitly or explicitly, depending on the API used to export.

The `ObjID()` constructor can be used to generate a unique object identifier. Such an `ObjID` is unique over time with respect to the host it is generated on. The `ObjID(int)` constructor can be used to create a "well-known" object identifier. The scope of a well-known `ObjID` depends on the RMI runtime it is exported to.

An `ObjID` instance contains an object number (of type `long`) and an address space identifier (of type `UID`). In a unique `ObjID`, the address space identifier is unique with respect to a given host over time. In a well-known `ObjID`, the address space identifier is equivalent to one returned by invoking the `UID.UID(short)` constructor with the value zero.

If the system property `java.rmi.server.randomIDs` is defined to equal the string `"true"` (case insensitive), then the `ObjID()` constructor will use a cryptographically strong random number generator to choose the object number of the returned `ObjID`.

Since:
  JDK1.1
See Also:
  Serialized Form

Field Summary
`static int` | `ACTIVATOR_ID` object number for well-known `ObjID` of the activator
`static int` | `DGC_ID` object number for well-known `ObjID` of the distributed garbage collector
`static int` | `REGISTRY_ID` object number for well-known `ObjID` of the registry

Constructor Summary
`ObjID()` Generates a unique object identifier.
`ObjID(int objNum)` Creates a "well-known" object identifier.

Method Summary
`boolean` | `equals(Object obj)` Compares the specified object with this `ObjID` for equality.
`int` | `hashCode()` Returns the hash code value for this object identifier, the object number.
`static ObjID` | `read(ObjectInput in)` Constructs and returns a new `ObjID` instance by unmarshalling a binary representation from an `ObjectInput` instance.
`String` | `toString()` Returns a string representation of this object identifier.
`void` | `write(ObjectOutput out)` Marshals a binary representation of this `ObjID` to an `ObjectOutput` instance.

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### REGISTRY_ID

    public static final int REGISTRY_ID

  object number for well-known `ObjID` of the registry

  See Also:
    Constant Field Values

### ACTIVATOR_ID

    public static final int ACTIVATOR_ID

  object number for well-known `ObjID` of the activator

  See Also:
    Constant Field Values

### DGC_ID

    public static final int DGC_ID

  object number for well-known `ObjID` of the distributed garbage collector

  See Also:
    Constant Field Values

Constructor Detail

### ObjID

    public ObjID()

  Generates a unique object identifier.

  If the system property `java.rmi.server.randomIDs` is defined to equal the string `"true"` (case insensitive), then this constructor will use a cryptographically strong random number generator to choose the object number of the returned `ObjID`.

### ObjID

    public ObjID(int objNum)

  Creates a "well-known" object identifier.

  An `ObjID` created via this constructor will not clash with any `ObjID`s generated via the no-arg constructor.

Parameters:
  `objNum` - object number for well-known object identifier

Method Detail

### write

    public void write(ObjectOutput out)
               throws IOException

  Marshals a binary representation of this `ObjID` to an `ObjectOutput` instance.

  Specifically, this method first invokes the given stream's `DataOutput.writeLong(long)` method with this object identifier's object number, and then it writes its address space identifier by invoking its `UID.write(DataOutput)` method with the stream.

  Parameters:
    `out` - the `ObjectOutput` instance to write this `ObjID` to
  Throws:
    `IOException` - if an I/O error occurs while performing this operation

### read

    public static ObjID read(ObjectInput in)
                      throws IOException

  Constructs and returns a new `ObjID` instance by unmarshalling a binary representation from an `ObjectInput` instance.

  Specifically, this method first invokes the given stream's `DataInput.readLong()` method to read an object number, then it invokes `UID.read(DataInput)` with the stream to read an address space identifier, and then it creates and returns a new `ObjID` instance that contains the object number and address space identifier that were read from the stream.

  Parameters:
    `in` - the `ObjectInput` instance to read `ObjID` from
  Returns:
    unmarshalled `ObjID` instance
  Throws:
    `IOException` - if an I/O error occurs while performing this operation

### hashCode

    public int hashCode()

  Returns the hash code value for this object identifier, the object number.

  Overrides:
    `hashCode` in class `Object`
  Returns:
    the hash code value for this object identifier
  See Also:
    `Object.equals(java.lang.Object)`, `Hashtable`

### equals

    public boolean equals(Object obj)

  Compares the specified object with this `ObjID` for equality. This method returns `true` if and only if the specified object is an `ObjID` instance with the same object number and address space identifier as this one.

  Overrides:
    `equals` in class `Object`
  Parameters:
    `obj` - the object to compare this `ObjID` to
  Returns:
    `true` if the given object is equivalent to this one, and `false` otherwise
  See Also:
    `Object.hashCode()`, `Hashtable`

### toString

    public String toString()

  Returns a string representation of this object identifier.

  Overrides:
    `toString` in class `Object`
  Returns:
    a string representation of this object identifier

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.